In a graphics editing station images are entered into the system either through scanning originals, from video cameras or from operator input. The editing station can then create documents by arranging the images on the output pages.
For quality graphic editing, the operator should have the capability of rotating the image.
The obvious way to rotate an image is to store the original image in one area of memory and transferring each dot from one image to the other. The problem with this method is that, as the image is rotated, the dots from the original image will fall between the dot locations in the second area of memory. For this reason, interpolation should be applied to each dot. Using that approach, there must be a series of computations performed for each dot, which will result in low speed operation (or high cost). There is a need for a simplified, high speed algorithm for rotating images.
It is already known in the prior art to rotate a digital image through a small angle by partitioning the image into blocks and moving the blocks, as described in the Kang et al U.S. Pat. No. 4,829,452 issued May 9, 1989. In the method described, the image is divided into square blocks arranged in rows with each block exactly to the left or right of the other blocks in the same row; the image is also divided into columns with each block in a column being offset to the right by one pixel with respect to the next higher block. The rotation is accomplished by moving the lower rows to the left so that the columns are exactly vertical and by moving the rightmost columns in the downward direction so that each block is one pixel below the block to its left. The image may be rotated in the opposite direction by dividing the image so that each block in a column is offset to the left by one pixel then moving the lower rows to the right so that the columns are vertical and by moving the leftmost columns in the upward direction so that each block is one pixel above the block to its left.
A general object of this invention is to provide an improved method of rotating a digital image through an arbitrary angle using block moves of image data and to overcome certain disadvantages of the prior art.